﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Abp.AutoMapper;
using Abp.Runtime.Validation;
using Abp.Extensions;
using LeadThing.AbpZeroTemplate.BasicPersons;

namespace LeadThing.AbpZeroTemplate.BasicPersons.Dtos
{
    /// <summary>
    /// 莒县人口基本信息编辑用Dto
    /// </summary>
    [AutoMap(typeof(BasicPerson))]
    public class BasicPersonEditDto
    {

        /// <summary>
        ///   主键Id
        /// </summary>
        [DisplayName("主键Id")]
        public long? Id { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        [DisplayName("姓名")]
        [Required]
        [MaxLength(50)]
        public string Name { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        [DisplayName("性别")]
        public bool Sex { get; set; }

        /// <summary>
        /// 身份证号
        /// </summary>
        [DisplayName("身份证号")]
        [Required]
        [MaxLength(18)]
        public string IDCard { get; set; }

        /// <summary>
        /// 总人口数
        /// </summary>
        [DisplayName("总人口数")]
        public int TotalPopulation { get; set; }

        /// <summary>
        /// 家庭关系
        /// </summary>
        [DisplayName("家庭关系")]
        [MaxLength(50)]
        public string Relationship { get; set; }

        /// <summary>
        /// 从事行业
        /// </summary>
        [DisplayName("从事行业")]
        [MaxLength(100)]
        public string Industry { get; set; }

        /// <summary>
        /// 承包田亩数
        /// </summary>
        [DisplayName("承包田亩数")]
        [MaxLength(50)]
        public string ContractField { get; set; }

        /// <summary>
        /// 责任田亩数
        /// </summary>
        [DisplayName("责任田亩数")]
        [MaxLength(50)]
        public string ResponsibilityField { get; set; }

        /// <summary>
        /// 门牌号
        /// </summary>
        [DisplayName("门牌号")]
        [MaxLength(50)]
        public string HouseNumber { get; set; }

        /// <summary>
        /// 楼房
        /// </summary>
        [DisplayName("楼房")]
        [MaxLength(50)]
        public string Building { get; set; }

        /// <summary>
        /// 平房
        /// </summary>
        [DisplayName("平房")]
        [MaxLength(50)]
        public string Bungalow { get; set; }

        /// <summary>
        /// 政治面貌
        /// </summary>
        [DisplayName("政治面貌")]
        [MaxLength(50)]
        public string Politics { get; set; }

        /// <summary>
        /// 是否是烈士军属
        /// </summary>
        [DisplayName("是否是烈士军属")]
        public bool IsMartyr { get; set; }

        /// <summary>
        /// 是否享受低保
        /// </summary>
        [DisplayName("是否享受低保")]
        public bool Isallowance { get; set; }

        /// <summary>
        /// 是否是孤独
        /// </summary>
        [DisplayName("是否是孤独")]
        public bool IsLonely { get; set; }

        /// <summary>
        /// 是否是空巢老人
        /// </summary>
        [DisplayName("是否是空巢老人")]
        public bool Iselderly { get; set; }

        /// <summary>
        /// 是否是五保户
        /// </summary>
        [DisplayName("是否是五保户")]
        public bool IsFiveGuarantees { get; set; }

        /// <summary>
        /// 镇
        /// </summary>
        [DisplayName("镇")]
        [Required]
        public int TownID { get; set; }

        /// <summary>
        /// 区
        /// </summary>
        [DisplayName("区")]
        [Required]
        public int AreaID { get; set; }

        /// <summary>
        /// 村庄
        /// </summary>
        [DisplayName("村庄")]
        [Required]
        public int VillageID { get; set; }

        /// <summary>
        /// ParentID
        /// </summary>
        [DisplayName("ParentID")]
        [Required]
        public int ParentID { get; set; }

    }
}
